﻿#pragma once
#include <stdint.h>
#include <vector>
#include <string>
using namespace std;
struct ActTableShowCondition
{
	ActTableShowCondition()
		: iMinLevel(0)
		, iMaxLevel(0)
		, iOpenBeginDay(0)
		, iOpenEndDay(0)
	{}

	uint32_t							iMinLevel;
	uint32_t							iMaxLevel;
	uint32_t							iOpenBeginDay;			// 开服第几天开始
	uint32_t							iOpenEndDay;			// 开服第几天结束
};

struct ActTableJoinCondition
{
	ActTableJoinCondition()
		: iMinLevel(0)
		, iMaxLevel(0)
		, iOpenBeginDay(0)
		, iOpenEndDay(0)
	{}

	uint32_t							iMinLevel;
	uint32_t							iMaxLevel;
	uint32_t							iOpenBeginDay;			// 开服第几天开始
	uint32_t							iOpenEndDay;			// 开服第几天结束
};

struct ActTableCommonCondition
{
	ActTableCommonCondition()
	{}

	ActTableShowCondition				stShowCondition;
	ActTableJoinCondition				stJoinCondition;
	uint32_t							iReferActId;
	uint32_t                            iModuleType;
};

struct ActTableData
{
	uint32_t							iActId;
	uint32_t							iType;
	std::string							sName;
	std::string							sDesc;
	uint32_t							iShowBeginTime;
	uint32_t							iShowEndTime;
	uint32_t							iBeginTime;
	uint32_t							iEndTime;
	std::vector<uint32_t>		vApplyZoneId;
	uint32_t							iShowType;
	uint32_t							iShowPrio;
	uint32_t							isdelete;

	std::string							sCommonCondition;
	ActTableCommonCondition				stCommonCondition;
	std::string							sServerParam;
	Json::Value						jsonServerParam;
	std::string							sClientParam;
	Json::Value						jsonClientParam;

	std::string							sClientIcon;
	std::string			    			sClientGuideName;
};